﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ChessAnotator.Base.Business
{
    public class Nomenclature
    {
        public const int BOARD_SIZE = 8;

        public class FENChessPiece
        {
            public const string BlackPawn = "p";
            public const string BlackBishop = "b";
            public const string BlackKnight = "n";
            public const string BlackRook = "r";
            public const string BlackQueen = "q";
            public const string BlackKing = "k";

            public const string WhitePawn = "P";
            public const string WhiteBishop = "B";
            public const string WhiteKnight = "N";
            public const string WhiteRook = "R";
            public const string WhiteQueen = "Q";
            public const string WhiteKing = "K";
        }

        public class Rank
        {
            public const string A = "A";
            public const string B = "B";
            public const string C = "C";
            public const string D = "D";
            public const string E = "E";
            public const string F = "F";
            public const string G = "G";
            public const string H = "H";
        }

        public class Square
        {
            public const string A8 = "sq00";
            public const string B8 = "sq01";
            public const string C8 = "sq02";
            public const string D8 = "sq03";
            public const string E8 = "sq04";
            public const string F8 = "sq05";
            public const string G8 = "sq06";
            public const string H8 = "sq07";

            public const string A7 = "sq10";
            public const string B7 = "sq11";
            public const string C7 = "sq12";
            public const string D7 = "sq13";
            public const string E7 = "sq14";
            public const string F7 = "sq15";
            public const string G7 = "sq16";
            public const string H7 = "sq17";

            public const string A6 = "sq20";
            public const string B6 = "sq21";
            public const string C6 = "sq22";
            public const string D6 = "sq23";
            public const string E6 = "sq24";
            public const string F6 = "sq25";
            public const string G6 = "sq26";
            public const string H6 = "sq27";

            public const string A5 = "sq30";
            public const string B5 = "sq31";
            public const string C5 = "sq32";
            public const string D5 = "sq33";
            public const string E5 = "sq34";
            public const string F5 = "sq35";
            public const string G5 = "sq36";
            public const string H5 = "sq37";

            public const string A4 = "sq40";
            public const string B4 = "sq41";
            public const string C4 = "sq42";
            public const string D4 = "sq43";
            public const string E4 = "sq44";
            public const string F4 = "sq45";
            public const string G4 = "sq46";
            public const string H4 = "sq47";

            public const string A3 = "sq50";
            public const string B3 = "sq51";
            public const string C3 = "sq52";
            public const string D3 = "sq53";
            public const string E3 = "sq54";
            public const string F3 = "sq55";
            public const string G3 = "sq56";
            public const string H3 = "sq57";

            public const string A2 = "sq60";
            public const string B2 = "sq61";
            public const string C2 = "sq62";
            public const string D2 = "sq63";
            public const string E2 = "sq64";
            public const string F2 = "sq65";
            public const string G2 = "sq66";
            public const string H2 = "sq67";

            public const string A1 = "sq70";
            public const string B1 = "sq71";
            public const string C1 = "sq72";
            public const string D1 = "sq73";
            public const string E1 = "sq74";
            public const string F1 = "sq75";
            public const string G1 = "sq76";
            public const string H1 = "sq77";
        }
                
        public enum PieceColor
        { 
            Black 
            , White
        }

        public enum PieceType
        { 
            Pawn
            , Knight
            , Bishop
            , Rook
            , Queen
            , King
        }
    }
}
